import { useEventListener } from '@vueuse/core'

/**
 * DevTools 控制 Hook
 * 提供开发者工具的打开/关闭功能
 */
export function useDevTools(): {
  toggleDevTools: () => void
  openDevTools: () => void
  setupDevToolsShortcuts: () => void
} {
  const ipcRenderer = window.electron?.ipcRenderer

  /**
   * 切换DevTools显示状态
   */
  const toggleDevTools = (): void => {
    if (ipcRenderer) {
      ipcRenderer.send('toggle-devtools')
      console.log('Toggle DevTools requested')
    } else {
      console.log('Web环境，无法使用开发者工具')
    }
  }

  /**
   * 强制打开DevTools
   */
  const openDevTools = (): void => {
    if (ipcRenderer) {
      ipcRenderer.send('open-devtools')
      console.log('Open DevTools requested')
    }
  }

  /**
   * 设置快捷键监听
   * F12 或 Cmd+Option+I (Mac) / Ctrl+Shift+I (Win/Linux) 切换DevTools
   */
  const setupDevToolsShortcuts = (): void => {
    useEventListener('keydown', (event: KeyboardEvent) => {
      // F12 键
      if (event.key === 'F12') {
        event.preventDefault()
        toggleDevTools()
      }

      // Mac: Cmd+Option+I, Win/Linux: Ctrl+Shift+I
      if (
        (event.metaKey && event.altKey && event.key === 'i') || // Mac
        (event.ctrlKey && event.shiftKey && event.key === 'I') // Win/Linux
      ) {
        event.preventDefault()
        toggleDevTools()
      }
    })

    console.log('DevTools shortcuts registered (F12, Cmd+Option+I, Ctrl+Shift+I)')
  }

  return {
    toggleDevTools,
    openDevTools,
    setupDevToolsShortcuts
  }
}
